/*
 * ! Ext JS Library 4.0 Copyright(c) 2006-2011 Sencha Inc. licensing@sencha.com
 * http://www.sencha.com/license
 */

Ext.define('MyDesktop.GridWindow', {
	extend : 'Ext.ux.desktop.Module',

	requires : ['Ext.data.ArrayStore', 'Ext.util.Format', 'Ext.grid.Panel',
			'Ext.grid.RowNumberer', 'Ext.selection.CheckboxModel'],

	id : 'grid-win',

	init : function() {
		this.launcher = {
			text : '数据管理',
			iconCls : 'icon-grid'
		};
	},
	createWindow : function() {
		var me = this;
		Ext.define('Data', {
					extend : 'Ext.data.Model',
					fields : [{
								name : 'id'
							}, {
								name : 'electricity'
							}, {
								name : 'voltage'
							}, {
								name : 'timer',
								type : 'datetime',
								dateformat : 'Y-m-d H:i:s'
							}]
				});

		var selModel = Ext.create('Ext.selection.CheckboxModel');
		var dataByPageAndLimitStore = Ext.create('Ext.data.Store', {
					// autoDestroy: true,
					// autoLoad : true,
					// remoteSort : true,
					pageSize : 10,
					proxy : {
						type : 'ajax',
						url : '/piconet/getDataByPageAndLimit.do',
						reader : {
							type : 'json',
							root : 'records',
							totalProperty : 'totalRecords'

						}
					},
					fields : [{
								name : 'id'
							}, {
								name : 'electricity'
							}, {
								name : 'voltage'
							}, {
								name : 'timer',
								type : 'datetime',
								dateformat : 'Y-m-d H:i:s'
							}]

				});
		var columns = [{
					text : "编号",
					dataIndex : 'id',
					width : '5%'
				}, {
					text : "电流",
					dataIndex : 'electricity',
					width : '10%'
				}, {
					text : "电压",
					dataIndex : 'voltage',
					width : '10%'
				}, {
					text : "日期",
					dataIndex : 'timer',
					width : '20%'
				}];
		var desktop = this.app.getDesktop();
		var win = desktop.getWindow('grid-win');
		if (!win) {
			win = desktop.createWindow({
				id : 'grid-win',
				title : '数据管理',
				width : 740,
				height : 480,
				iconCls : 'icon-grid',
				animCollapse : false,
				constrainHeader : true,
				layout : 'fit',
				items : [{
							id : 'gird1',
							border : false,
							xtype : 'grid',
							selModel : selModel,
							store : dataByPageAndLimitStore,
							columns : columns
						}],
				tbar : [{
							xtype : 'datefield',
							fieldLabel : '起始日期',
							labelWidth : 60,
							anchor : '100%',
							id : 'start-time',
							name : 'start',
							dateFormat : 'Y/n/j G:i:s'

						}, '-', {
							xtype : 'datefield',
							fieldLabel : '结束日期',
							labelWidth : 60,
							anchor : '100%',
							id : 'end-time',
							name : 'end',
							dateFormat : 'Y/n/j G:i:s'

						}, '-', {
							text : '查询',
							xtype : 'button',
							tooltip : 'Query By Date',
							iconCls : 'search',
							handler : function() {
								var searchParams = {
									start : Ext.getCmp('start-time').getValue(),
									end : Ext.getCmp('end-time').getValue()

								};
								Ext
										.apply(
												dataByPageAndLimitStore.proxy.extraParams,
												searchParams);
								dataByPageAndLimitStore.reload();
							}
						}, '-', {
							text : '重置',
							xtype : 'button',
							iconCls : 'icon-reset',
							handler : function() {

								Ext.getCmp('start-time').setValue(null), Ext
										.getCmp('end-time').setValue(null)

							}
						}, '-', {
							text : '导出Excel表格',
							xtype : 'button',
							handler : function() {
								var grid = Ext.getCmp('gird1');
								var s = grid.getSelectionModel().getSelection();
								var ids = [];
								var idProperty = me.idProperty || 'id';
								for (var i = 0, r; r = s[i]; i++) {
									ids.push(r.get(idProperty));
								}
								if (ids.length < 1) {
									Ext.MessageBox.show({
										title : "提示",
										msg : "请先选择您要操作的行!"
											// icon: Ext.MessageBox.INFO
										})
									return;
								}

								location.href =  '/piconet/expordDatas.do' + "?ids="+ ids; 
//								 Ext.Ajax.request({
//								 url : '/piconet/expordDatas.do',
//								 method : 'POST',
//								 params : {
//								 ids : ids.join(',')
//								 },
//								 success : function(response) {
//																				
//								 }
//								 });
							}
						}],
				bbar : [{
							xtype : 'pagingtoolbar',
							dock : 'bottom',
							store : dataByPageAndLimitStore,
							displayInfo : true
						}]
			});
		}
		return win;
	}
});
